1. Field of the Invention
This invention relates to a knowledge-base system (expert system) which solves problems in such fields as diagnosing, designing, and planning with the use of expert knowledge. More specifically, this invention relates to an inference system (inference method) suitable for acquiring control knowledge used to control knowledge operation according to the problem status.
2. Description of the Prior Art
One of the important tasks in building a knowledge base system is knowledge acquisition where the knowledge of a target field is defined and coded into a form processable by the inference engine. Traditionally, knowledge engineers collects knowledge primarily through an interview with experts and then codes collected knowledge into a form processable by the inference engine. However, because knowledge acquisition done by human beings requires much effort and time, it sometimes uses too much manpower during knowledge base system development. This is called a knowledge acquisition bottleneck.
Recently, a technology to support this knowledge acquisition has made a progress and, today, some tools to automate or support this knowledge acquisition process are available. And, depending upon the problem type (called a problem task) or target field type (called a target domain), the knowledge acquisition bottleneck has been reduced. However, many of these knowledge acquisition (support) tools, developed in order to acquire knowledge about the entity relation in some specific domain or about basic problem solving, are not practical.
When implementing a knowledge base system, it is important to control knowledge so that correct knowledge is used correctly according to the problem status. More often, the knowledge base system searches the knowledge base, containing a large amount of knowledge, for desired knowledge during the problem solving process. To do so, it requires search control that enables system, via a search method, to find solutions efficiently. Knowledge on this type of control (hereafter called control knowledge) is required regardless of whether the knowledge base system is of classification type or of structure type. However, it is very difficult to acquire this control knowledge because it usually consists of experience-based know-how.
The first reason for it is that, unlike knowledge on a problem task or a target domain which can be defined easily from the problem or target, control knowledge is acquired usually from the problem solving process in daily operation done by experts; it is in the expert's memory and is difficult to define.
The second reason is that not only this type of control knowledge, which controls knowledge operation or search, is related closely with a problem task or target domain but also acquisition and execution of new control knowledge greatly affects the execution of existing control knowledge. This means that, when acquiring new control knowledge, it is necessary to maintain compatibility with existing knowledge to prevent an inconsistency from being generated in the problem solving method.
One of the prior arts is HELLIC II (Reference: Nitta, et al: "HELLIC-II: A Legal Reasoning System on Parallel Inference Machine", Proceedings of the International Conference on Fifth Generation Computer System, ICOT, 1992.). HELLIC-II: is an integrated system using rule-based reasoning (RBR) and case-based reasoning (CBR) like the present invention.
In HELLIC-II, however, RBR and CBR modules interact by exchanging information through the central working memory.
Another existing method in tegrates RBR and CBR (Reference: Yasunobu, et al: "An integrated Method for Rule-Based Reasoning and Case-Based Reasoning", Journal of Japanese Society of AI, Vol. 7, No. 6, pp. 155-162, 1992). Unlike the present invention, this method (1) explicitly indexes cases to specific rules using a unified "If-Search-Then" syntax, and (2) lacks learning/knowledge acquisition modules to facilitate system growth during operation.
Another approach is to tune if-then rules temporarily by relevant cases (Reference: Nakatani, et al: "Tuning Rules by Cases", Topics in Case-Based Reasoning: Proceedings of the First European CBR Workshop, Lecture Notes in AI837, pp. 313-324, 1993). However, this approach is not to select among rules and cases done in the present invention.
So far, a number of knowledge acquisition (support) tools to acquire control knowledge have been proposed, as described above. However, the prior knowledge acquisition (support) tools have the following problems. First, they are less efficient to derive control knowledge potential in expert's memory. Second, they don't fully check the consistency with already-acquired knowledge. Third, acquired control knowledge cannot be matched efficiently.
The following explains this point more specifically using Rule-Based Reasoning (RBR) and Case-Based Reasoning (CBR) as examples:
The configuration and problems of a production system, a typical implementation of RBR, are as follows. FIG. 21 shows the configuration of a production system. It consists of the inference processing module 100, rule base 110, work memory 120, and input/output module 130. The inference processing module 100, in turn, consists of the rule matching module 101, conflict resolving module 102, execution processing module 103, and the inference controlling module 104 which controls these three modules. The input/output module 130 has the terminal 131 and keyboard/mouse 132.
The work memory 120, also called work storage or Working Memory (WM), is an area where input data or intermediate data is temporarily stored. This work memory 120 is usually allocated in main storage to allow modules to access data speedily. Data may be stored in the work memory 120 in any form; in the following discussion, typical production system data--class, attribute, and attribute value--is assumed. Each piece of data is called a WM element. FIG. 22 shows an example of work memory.
The rule base 110 contains "if . . . then" rules which are stored before problem solution starts. FIG. 23 shows an example of rules stored in the rule base 110. FIG. 24 shows the Venn diagram of the rule base 110. For simplicity, this figure shows only the fluid temperature (0 to 10) and fluid pressure (0 to 10). FIG. 25 is a diagram showing the problem classification tree of an example of rule base contents corresponding to those in the Venn Diagram in FIG. 24. In this figure, x corresponds to the fluid temperature, and y corresponds to the fluid pressure.
Next, by referring to the flowchart in FIG. 26, the following explains how the production system works. That is, the following explains how inference is performed using the rule base 110, shown in FIG. 23, and the work memory 120, shown in FIG. 22.
The rule matching module 101 first matches the conditional statements of the rules stored in the rule base 110 with the WM elements stored in the work memory 120, one at a time, and generates a set (called a conflict set) of pairs (called an instantiation which means a specific instance of a rule) of applicable rules and corresponding WM elements. FIG. 27 shows instantiations created in this step (step 140).
The conflict resolving module 102 selects only one of instantiations from the conflict set according to some specific rule (step 142). It selects a rule with the narrowest applicable range. As a result, rule A is selected from the conflict set shown in FIG. 27. The selection of an instantiation means the selection of a rule applicable at that point.
The execution processing module 103 executes the execution statement of the rule of the instantiation selected by the conflict processing module, using the matching data of the instantiation (step 143) Then, the system interacts with the user; that is, it displays information on the terminal 131 or reads data from the keyboard/mouse 132. At the same time, data is added to, changed in, or deleted from the work memory 120. In this example, a new WM element is created and added to the work memory 120. As a result, the contents of the work memory 120 are changed to those shown in FIG. 28.
Upon completion of execution processing, control goes back to the rule matching module 101 and, then, the inference cycle consisting of rule matching (step 141), conflict resolution (step 142), and rule execution (step 143) is repeated. This cycle is repeated until the inference stop instruction in the execution statement of a rule is executed (step 144) or until no matching rule is found in the matching processing (step 141). In this example, because there is no rule that matches added WM elements, the inference cycle is terminated.
The production system performs operation assuming that the conditional statement and execution statement of a rule are described correctly. So, if a rule contains descriptions unintended by the developer, problem solution generates an unintended result. For example, assume that stainless steel is intended as the material of a valve. The production system allows the user to change the rule base by adding a new rule or changing an existing rule. To do so, it is necessary to edit the contents of the rule base 110. There are some problems with this change; for example, the conditional statement of a rule must be reviewed, or consistency with exiting rules must be taken into consideration.
On the other hand, a system using CBR (Case-Based Reasoning) has a database (called a case base) which contains past problem solution cases. Upon receiving a new problem, the system retrieves a problem solution case similar to the received problem, modifies the result according to the problem, and generates a solution. This type of CBR consists typically of characteristic extraction, case retrieval, and case modification. Although excellent in acquiring knowledge, CBR has the problems when building an expert system.
First, it is difficult to build CBR support system. Second, it is too granular to be applied to the top-level problem solution. Third, it is not easy to include CBR into a production system widely used in inference applications.
It is an object of this invention to provide a system which acquires strategic and operational knowledge used to control knowledge usage and to solve the above-mentioned problems involved in prior systems having a similar object.
That is, to solve the problems with the prior arts described above, it is an object of this invention to provide an inference method and an inference system having a superior inference accuracy. It is another object of this invention to provide an inference method and an inference system capable of acquiring and using knowledge efficiently.